package com.tedu.api;

import org.testng.annotations.Test;

/**
 * Java面向对象---不是真的面向对象--八大基本数据类型
 * 八大基本数据类型（不是面向对象）       针对八大数据类型对应包装类
 *
 * int                             INteger--继承Number父类【抽象】
 *
 * long                                 long--继承Number父类【抽象】
 * double                             Double--继承Number父类【-继抽象】
 * shart                                    --继承Number-继父类【抽象】
 * float                               Float--继承Number父类【抽象】
 * byte                                    byte--继承Number父类【抽象】
 * char                                    Character--继承Object父类【抽象】
 * boolean                             Boolean           --继承Object父类【抽象】
 */

public class PackingAPI {
    @Test
    public void test(){
        int a=1;//不是念想对象，通过反射
        //创建int类型对象：Integer构造器：引入|直接写
        Integer i=new Integer(a);
        i.toString();
    }
    /**
     * 包装类API
     * xxxValue方法      返回值：对应数据类型
     * 作用：把包装类转换为基本数据类型的方法
     * 测试:6ge包装类
     */
    @Test
    public void testxxxValue(){
        Integer i=new Integer(2);
        i=i.intValue();
        System.out.println(i);
        //测试：其他7个包装类
        String s1="123.123";
        Double d=new Double(s1);
        d=d.doubleValue();
        System.out.println(d);
        // double

        String s2="1";            //Byte
Byte b=new Byte(s2);
b=b.byteValue();
System.out.println(b);

        String s3="123.123F" ;     // Float
       Float f=new Float(s3);
     float f1=f.floatValue();
             System.out.println(f1);
             String s4="1234L";
             Long l=new Long(5678L);
             l=l.longValue();
             System.out.println(l);
        //String s4=1234L;        long

        String s5="true";      // Boolean
         Boolean b1=new Boolean(s5);
         b1=b1.booleanValue();
         System.out.print(b1);

       /* String s6="a";
        // Character
        char s6='a';
        Character c=new Character(s6);*/
        //
        //
        //
    }
    /**
     * 包装类具备静态方法
     * ValueOf（）    返回值：对应数据类型
     * 作用：把包装类转换为基本数据类型的方法
     */
    @Test
    public void testValueof(){
        int i=Integer.valueOf(1);
        boolean b=Boolean.valueOf(true);
        char c=Character.valueOf('1');
        Float.valueOf(1.123F);

    }
    /**
     * 包装类-----------------Servlet【javaBean】
     * public class person{
     *     Inter id;//成员变量解析
     *
     *
     * }
     * parsexxx（）
     * 作用：将获取到的字符串转换为对应类型
     */
    @Test
    public void testParsexxx(){
        String s="123";//将字符串转换为整型
        int i=Integer.parseInt(s);
        System.out.println(i);
        String s1=String.valueOf(123);

        String s2="456f";
        float f=Float.parseFloat(s2);
        System.out.println(f);
        char s3='a';
    }
    /**
     * 自动拆装箱
     * JDK1.5之前没有自动拆装箱
     * JDK1.5之后有自动拆装箱   2004
     *
     *
     */
    @Test
    public void testJ(){
        Integer in=Integer.valueOf(1);
        int ii=in.intValue();
        Integer i=1;
        int is=i;
    }
}
